package main

import "fmt"

func main() {
	// map是一种无序的基于key-value的数据结构，Go语言中的map是引用类型，必须初始化才能使用。
	// map的基本使用示例代码如下：
	scoreMap := make(map[string]int, 8)
	scoreMap["Tom"] = 100
	scoreMap["Ani"] = 98
	fmt.Println(scoreMap)
	fmt.Println(scoreMap["小明"])
	fmt.Printf("type of a:%T\n", scoreMap)
	// map也支持在声明的时候填充元素，例如
	userInfo := map[string]string{
		"username": "pprof.cn",
		"password": "123456",
	}
	fmt.Println(userInfo)
	// 判断key是否存在
	value, key := scoreMap["Tom"]
	if key == true {
		fmt.Println(value)
	} else {
		fmt.Println("没有该键")
	}

	// 遍历MAP
	scoreMap2 := make(map[string]int)
	scoreMap2["张三"] = 90
	scoreMap2["小明"] = 100
	scoreMap2["王五"] = 60
	for k, v := range scoreMap2 {
		fmt.Println(k, v)
	}

	// 使用delete()删除键值对  map:表示要删除键值对的map，key:表示要删除的键值对的键
	delete(scoreMap2, "王五")
}
